package com.example.myandroidapp.http

import com.example.myandroidapp.apis.ApiService
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory

/*
* Retrofit = 接口抽象层 + 数据转换层，OkHttp = 网络传输层
    组件	        角色定位	        职责
    OkHttp	    底层网络引擎	    实际处理 HTTP 请求/响应、连接管理、缓存、安全等
    Retrofit	上层接口适配器	    将API 声明转换为可执行的网络调用
*/

object RetrofitClient {
    // 定义基础的URL常量
    private const val BASE_URL = "http://192.168.43.190:3000/"

    // 使用延迟初始化，确保在第一次需要使用 ApiService 时才创建实例，避免资源浪费
    val apiService: ApiService by lazy {
        // 创建Retrofit构建器
        Retrofit.Builder()
            // 设置基础URL
            .baseUrl(BASE_URL)
            // 添加GSON数据解析器
            .addConverterFactory(GsonConverterFactory.create())
            // 构建Retrofit实例并生成网络请求接口
            .build()
            .create(ApiService::class.java)
    }
}